package ar.fi.uba.celdas.interfaces.bc;

public class Sensor implements Cloneable {
	private int valor;
	private String nombre;
	
	public Sensor() {
	}
	
	public Sensor(String nombre, int valor){
		this.nombre = nombre;
		this.valor = valor;
	}
	
	public int getValor() {
		return valor;
	}
	
	public void setValor(int valor) {
		this.valor = valor;
	}
	
	/**
	 * 
	 * @return nombre, sirve de ID del sensor, 
	 * por ejemplo POS_X, POS_Y, DIST_N, DIST_S, etc. 
	 */
	public String getNombre() {
		return nombre;
	}
	
	public void setNombre(String nombre) {
		this.nombre = nombre;		
	}	
	
	@Override
	public Sensor clone() {
		Sensor copia = new Sensor();
		copia.setNombre(nombre);
		copia.setValor(valor);
		return copia;
	}
	
	@Override
	public boolean equals(Object obj) {
		if (obj instanceof Sensor)
			return ((Sensor)obj).nombre.equals(nombre) && ((Sensor)obj).valor == valor;
		else
			return false;
	}
	
	@Override
	// TODO: reescribir usando un StringBuffer o, mejor aún, escribir un toString
	// más simple y usar un Renderer de Log4J para verlo en los logs.
	public String toString() {
		
		return "Sensor[" + this.nombre + "," + this.valor + "]";
	}
}
